1- متد سازنده هم نام با کلاس تعریف می شود .
2 - برای مقدار دهی به فیلد های کلاس تعریف می شود .
3- مقدار بازگشتی ندارد حتی void هم نیست.
4- دقیقا در زمان ایجاد نمونه ای از کلاس فراخوانی شده و مقدار دهی اولیه به فیلد های کلاس را انجام می دهد.
5- می تواند شامل over load های مخلف باشد.
6- اگر در یک کلاس متد سازنده توسط developer پیاده سازی نشود کامپایلر به طور پیش فرض یک متد سازنده ایجاد می کند و به فیلد های عددی مقادیر 0 و به فیلد های بولین مقدار false و به object ها را با null تنظیم می کند.
مثال در ادامه مطلب
مثال :به عنوان یک مثال ساده برای درک بهتر این مفهوم می توان به رابطه ی بین حیوان و سگ اشاره کرد همانطور که می دانید سگ نوعی حیوان است . یعنی سگ علاوه بر ویژگی های خاص خود شامل ویژگی های حیوان بودن نیز می شود .
اگر از دید برنامه نویسی به این مفهوم نگاه کنیم و یک کلاس برای حیوان که شامل متدهای تعریف حیوان بودن بنویسیم و در ادامه بخواهیم یک کلاس برای سگ بنویسیم فقط کافیست که کلاس سگ از کلاس حیوان ارث بری کند تا به تمام متد های کلاس حیوان دسترسی پیدا کند .
public class Animal{ public string explain() { retu " Some type of alive creature"; }}
در این جا کلاس حیوان را تعریف کردیم حال برای کلاس سگ داریم :
public class Dog: Animal ==> در این جا کلاس سگ از کلاس حیوان ارث بری می کند{ public string describe() { retu "Some type of Animal "; }}
و در استفاده از این دو کلاس داریم :
Animal anm = new Animal();string s1 = anm.explain();
Dog myDog = new Dog();string s2 = myDog.explain(); ==> دسترسی ابجکت ساخته شده از کلاس سگ به متد کلاس حیوانstring s3 = myDog.describe();